1. Field of the Invention
This invention relates to a system and method for the retrieval of data from a database according to predetermined criteria.
2. Description of the Related Art
Case-based reasoning (CBR) systems solve new problems by reusing the solutions to problems that have been previously solved and stored as cases in a case-base. The success of any CBR system depends on its ability to select the right case for the right target problem (see, for example, Kolodner, J.: Case-Based Reasoning. Morgan Kaufmann, 1993; Smyth, B. and Keane, M.: Adaptation-Guided Retrieval: Questioning the Similarity Assumption in Reasoning. Artificial Intelligence, 102:249–293, 1998; and Aamodt, A. and Plaza, E.: Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches. Al Communications, 7(1):39–52, 1994).
The conventional wisdom is that the right case is among those that are the most similar to the target problem, and thus considerable research effort has been invested into techniques and strategies for evaluating case similarity (see also Faltings, B.: Probabilistic Indexing for Case-Based Prediction. In: Proceedings of the 2nd International Conference on Case-Based Reasoning, pages 611–622. Springer-Verlag, 1997; Leake, D. B.: Case-Based Reasoning: Experiences, Lessons and Future Directions. AAAI/MIT Press, 1996; Smyth, B.: and McKenna, E.: Incremental Footprint-Based Retrieval. In: Proceedings of the 21st SGES International Conference on Knowledge Based Systems and Applied Artificial Intelligence, pages 89–101. Springer Verlag, 2000).
Recently it has become clear that traditional notions of similarity are not always ideal, inspiring many researchers to look for alternative ways to judge the utility of a case in a given problem solving context (e.g. see Bergmann, R., Richter, M., Schmitt, S., Stahl, A. and Vollrath, I.: Utility-Oriented Matching: A New Research Direction for Case-Based Reasoning. In: Proceedings of the German Workshop on Case-Based Reasoning, 2001; Burke, R.: Conceptual Indexing and Active Retrieval of Video for Interactive Learning Environments. Knowledge-Based Systems, 9(8):491–499, 1996; Fox, S. and Leake, D. B.: Using Introspective Reasoning to Refine Indexing. In: Proceedings of the 14th International Joint Conference on Artificial Intelligence, pages 391–397. Morgan Kaufmann, 1995; Kolodner, J.: Judging which is the “best” case for a case-based reasoner. In: Proceedings of the Second Workshop on Case-Based Reasoning, pages 77–81. Morgan Kaufmann, 1989; Leake, D. B.: Constructive Similarity Assessment: Using Stored Cases to Define New Situations. In: Proceedings of the 14th Annual Conference of the Cognitive Science Society, pages 313–318. Lawrence Earlbaum Associates, 1992). For example, researchers have looked at the importance of adaptability alongside similarity, arguing that while a case may appear to be similar to a target problem, this does not mean it can be successfully adapted for this target.
The Internet is now almost synonymous with the so-called information overload problem as users find it more and more difficult to locate the right information at the right time. Recently a new type of information system called the recommender system has been developed to better serve the information needs of individual users. Recommender systems combine techniques from information retrieval, artificial intelligence, and user profiling to proactively predict the needs of individual users and provide more personalised information services.
Many recommender systems, such as Entree (Burke, R.: A case-based approach to collaborative filtering. In: Proceedings of the 5th European Workshop on Case-Based Reasoning. Springer-Verlag, 2000), employ a CBR strategy, selecting the most similar cases for a given query. Entree operates in the restaurant domain and allows users to query the restaurant case-base using features such as cuisine type, price, etc. By design, Entree returns a single best case but allows the user to tweak this result, if they are unhappy with the case, to produce a refined query for a new search.
Very often a recommender system will be designed to return a number of similar cases in order to provide the user with a choice of recommendations. For example, popular applications such as travel or property recommenders typically return the k best cases (holiday packages or apartment listings) for a user query. The objective is to satisfy user needs with a single search, hence the retrieval of multiple cases, and to maximise the likelihood of relevant cases appearing high up in the result list, hence the priority given to similarity.
However, this standard pure similarity-based retrieval strategy is flawed in some application domains. Consider a travel recommender: a user submits a query for a 2-week vacation for two in the sun, costing less than $750, within 3 hours flying time of Ireland, and with good night-life and recreation facilities on-site. The top recommendation returned is for an apartment in the a particular apartment block in the Costa Del Sol, Spain, for the first two weeks in July. This may be a good recommendation, but what if the second, third, and fourth recommendations are from the same apartment block, albeit perhaps for different two-week periods during the summer? While the k best recommendations are all very similar to the target query, they are also very similar to each other. The user will not have received a useful set of alternatives if the first recommendation is unsuitable. For instance, in this example, if the user decides to avoid the Costa Del Sol, then none of the alternative recommendations will suffice and she will have to initiate a new search.